Android 10i(2020) SP2-10i(2021) interface changes

Historical version interface changes

This document describes the modified interfaces and other changes that can affect the compatibility possibly caused by these changes. The interface adjustment aims to provide users a more efficient, powerful, and perfect application.

Interface changes from SuperMap iMobile 10i(2020) SP2 for Android to SuperMap iMobile 10i(2021) for Android

Change ID Changed content
Module
1.
The class DynamicText adjusts the following classes

New Interface:

  • setAlignment(DynamicAlignment alignment): sets alignments
  • getAlignment(): gets alignments
Mapping
2.
The class DynamicElement adjusts the following classes

Canceled interfaces:

  • setName(String name): sets the name of the dynamic object
  • getName(): gets the name of the dynamic object. The default value is null.
  • isNameVisible(): gets whether the name of the dynamic object is visible. false is by default.
  • setNameSize(float size): sets font size of name. 16pixel is by default.
  • getNameSize(): gets the font size of name.
  • getNameTextAlign(): gets the alignment of name text. Center alignment is by default.
  • setNamePosition(Point2D position): sets the coordinate points (map coordinates) of the position @param position of the name text.
  • getNamePosition(): gets the coordinates of the position of the name text. If the user doesn't set, the coordinate point Point2D of the center point is adopted by default.
  • setNameOffsetX(float offsetX): sets x offset of the name text @param offsetX position offset
  • getNameOffsetX(): gets the x offset of the name text.
  • setNameOffsetY(float offsetY): sets the y offset of name text @param offsetY position offset
  • getNameOffsetY(): gets the y offset of name text
Mapping
3.
MapView adjusts the following classes

New Interfaces:

  • setCalloutRotateEnable(boolean enable): sets whether callout rotates over the map @param enable whether to rotate over the map. No is by default.
  • isCalloutRotateEnable(): gets whether callout rotates over the map @return whether callout rotates over the map
Mapping
4.
ARControl adjusts the following classes

New Interfaces:

  • setARPlaneState(boolean value): sets whether to display AR plane
Realspace
5.
Map adjusts the following classes

New Interfaces:

  • getMaxVisibleVertex(): gets the number of maximum visible nodes
  • setMaxVisibleVertex(int value): sets the number of maximum visible nodes
Mapping
6.
Generalization adjusts the following classes

New Interfaces:

  • regularizeBuildingFootprint(DatasetVector sourceDataset,Datasource targetDatasource,String targetDatasetName, RegularizeParameter param,boolean isAttributeRetained): regularizes buildings
Analyst
7.
Geometrist adjusts the following classes

New Interfaces:

  • regularizeBuildingFootprint(Geometry sourceGeometry,RegularizeParameter param,PrjCoordSys prjCoordSys): regularizes buildings
Data
8.
RegularizeMethod adjusts the following classes

New Enumeration:

  • RegularizeMethod.RIGHTANGLES: Right angle
  • RegularizeMethod.RIGHTANGLESANDDIAGONALS: right angle and diagonal
  • RegularizeMethod.ANYANGLE: arbitrary angle
  • RegularizeMethod.CIRCLE: Circle
Data
9.
RegularizeParameter adjusts the following classes

New Interfaces:

  • RegularizeParameter():
  • getRegularizeMethod():
  • setRegularizeMethod(RegularizeMethod regularizeMethod):
  • getOffsetDistance(): Gets the maximum distance that the borders can offset when regularizing them.
  • setOffsetDistance(double offsetDistance): Sets the maximum distance that the borders can offset when regularizing them.
  • getOffsetDistanceUnit(): Gets the maximum distance that the borders can offset when regularizing them.
  • setOffsetDistanceUnit(Unit offsetDistanceUnit): Sets the unit of the maximum distance that the borders can offset when regularizing them.
  • getMinArea(): Gets the unit of the minimum area of the resulting set. Objects with areas less than the value will be deleted.
  • setMinArea(double minArea): Sets the unit of the minimum area of the resulting set. Regions with areas less than the value will be deleted.
  • getMinHoleArea(): Gets the minimum area of hole. Holes with areas less than the value will be deleted.
  • setMinHoleArea(double setMinHoleArea): Sets the minimum area of hole. Holes with areas less than the value will be deleted.
Data
10.
DynamicView adjusts the following classes

New Interfaces:

  • isElementAvoid(): Whether to enable the avoiding effect
  • setElementAvoid(boolean mIsElementAvoid): Enables Avoid
Mapping
11.
Point adjusts the following classes

New Interfaces:

  • Point(Point point):
Data
12.
EngineType adjusts the following classes

New Enumeration:

  • EngineType.XYZTILE: customizes XYZ service
Data
13.
OptimalPathAnalysis adjusts the following classes

New Interfaces:

  • OptimalPathAnalysis(): creates the instance of optimal path analysis
  • setPoints(Point2Ds points): sets the passing points of path analysis
  • setUrl(String url): sets the service address of path analysis
  • getPoints(): returns passing points
  • getUrl(): returns string of service address
  • findPath(FindPathListener listener): executes optimal path analysis
  • FindPathListener: creates the callback function for accepting analysis results.
Services
14.
ARAnimationTranslation adjusts the following classes

New Interfaces:

  • setTranslationUpdateListener(TranslationUpdateListener listener): sets the position update listener
  • TranslationUpdateListener: position update
AR
15.
AREffectBaseView adjusts the following classes

New Interfaces:

  • getFarClipPlane(): gets far-clip plane distance
  • getNearClipPlane(): gets close-clip plane distance
  • getArAction(): gets AR gestures
  • setArAction(ARAction arAction): sets AR gestures
AR
16.
AREffectView adjusts the following classes

New Interfaces:

  • getForegroundView(): gets foreground layer
AR
17.
ResourceConfig adjusts the following classes

New Interfaces:

  • getArPlaneTexture(): gets plane texture
AR
18.
ConvertTool adjusts the following classes

New Interfaces:

  • calculateDeviceLocation(Location targetLocation,Point3D targetPosition,float startAzimuth): calculates the geographical position of device
  • getAreaByVector3(List pointList): gets area
  • getAreaByPoint3D(List pointList): gets area
  • getAreaBy3Point2(Vector3 v0, Vector3 v1, Vector3 v2): gets area
  • getArea(List pointList): gets area
  • getAreaBy3Point(Vector3 v0, Vector3 v1, Vector3 v2): gets area
AR
19.
PresetUtils adjusts the following classes

New Interfaces:

  • isInPolygon(Point src, List points): Determines whether a point falls in a polygon in a plane.
  • isInPolygon(Point3D src, List points,float tolerance): Determines whether a point in a space falls in a polygon in a plane of the space.
  • genStripeLinePoints(List points,float lineWidth,float radius, int edgeNum): Generates point set that is used for composing polygon which is parallel with XOY according to polyline point set.
  • genVerticalPoints(Point3D pointA, Point3D pointB, float width): In the plane parallel with XOY, gets the point set that is perpendicular to AB and passes AB and the distance is width (A doesn't overlap with B. The total number of points is 4).
  • getIntersectionPoint(Vector3 v0,Vector3 v1,Vector3 a,Vector3 b,Vector3 c): gets the intersection coordinates of lines and plane.
  • genArcPoints(List points,float radius, int edgeNum): Replaces the turning points with the continuous points on arcs at turning points according to the radius of rounded corner and the number of arcs.
  • getCenterPoint(List sourceList): Gets the position of center from point set.
  • getQuaternionByVector(Vector v0,Vector v1): Gets the rotation quaternion of unit vector V0 rotated to unit vector V1.
  • getQuaternionByVector3(Vector3 v0,Vector3 v1): Gets the rotation quaternion of unit vector V0 rotated to unit vector V1.
  • getQuaternionByPoint3Ds(Point3D a,Point3D b,Point3D c): Gets the rotation quaternion of the plane composed of three points relative to horizontal plane.
  • correctHitPoint(Point3D cameraPosition, Point3D currentHitPoint, List list): Corrects the position of the impact point.
  • getPointByScreenRayTest(AREffectBaseView arEffectBaseView, List list,float x,float y): Gets the intersection points of the rays that are generated from the screen coordinates and the plane composed of list point set. The returned value can be null.
  • correctHitPoint(ARGeoVerticalRegion verticalRegion, Point3D targetPoint): Corrects impact points using the vertical plane
  • getPointByHitResult(List hitResults0, HitTestMode hitTestMode): Gets the coordinates of impact points according to the impact result of ARCore. The function can return null
  • getAllPointByHitResult(List hitResults): gets coordinates of all impact points.
AR
20.
Shape adjusts the following classes

New Interfaces:

  • drawPolygon(Mode mode, List pointList): Draws polygons through the points set.
  • drawHorizontalPolygon(List pointList): Draws horizontal polygons through the points set.
  • drawPrism(List bottomPointList,List topPointList): Draws prism
  • drawTorus(float r1,float r2,int side): Draws a horizontal circular object.
  • drawHalfTorus(float r1,float r2,int side): Draws a horizontal semi ring object.
  • drawRegularPolygon(float r,int side): Draws regular polygons.
  • clear(): clears objects
AR
21.
StripeLine adjusts the following classes

New Interfaces:

  • drawStripeLine(Point3D pointA, Point3D pointB, float width): draws stripe lines.
  • drawStripeLine(List pointList,float lineWidth): draws stripe lines.
  • getStripeLinePoints(): Gets the vertex set of lines.
  • getStripeLineRadius(): Gets the radius of the rounded angle of stripe lines.
  • setStripeLineRadius(float radius): Sets the radius of the rounded angle of stripe lines (equal to or bigger than the line width).
  • drawStripeLine(Point3D pointA, Point3D pointB,float width): TODO draws stripes.
  • getWidth(): gets width
  • setWidth(float width): sets width
  • getPointA(): gets point A
  • setPointA(Point3D pointA): sets point A
  • getPointB(): gets point B
  • setPointB(Point3D pointB): sets point B
AR
22.
ScreenPointTool adjusts the following classes

New Interfaces:

  • convertToScreenPoint2D(AREffectView arView,Point3D point3D): converts to screen coordinates.
  • getScreenDensity(Context context): gets the screen width.
  • getDpScale(Context context): Gets the ratio of dp value to the real scale.
  • getScreenWidth_DP(Context context): gets the screen width.
  • getScreenHeight_DP(Context context): gets the screen height.
  • screenPointToRay(AREffectBaseView arEffectView,int x,int y): Converts screen coordinates to ray.
AR
23.
ARAnimationTranslation2 adjusts the following classes

New Interfaces:

  • TranslationUpdateListener: translation update listener
  • setTranslationUpdateListener(TranslationUpdateListener listener): sets translation update listener
  • ARAnimationTranslation2(AREffectElement arEffectElement): construction function
  • creatAnimation(ARAnimationParameter parameter): create models
  • play(): start
  • pause(): pause
  • resume(): continue
  • stop(): stop
  • getSpeed(): gets speed
  • setSpeed(float speed): sets speed
AR
24.
BaseShape adjusts the following classes

New Interfaces:

  • BaseShape(MatType matType): construction function
  • getSelectionColor(): Gets the rendering object under the selection status.
  • setSelectionColor(Color color): Sets the rendering object under the selection status.
  • isSelected(): Determines whether it is selected
  • select(): selected
  • unSelect(): Cancel the selected status
  • getRadius():
  • setRadius(float radius):
  • getTextureMap(): Gets the resource id of the texture map.
  • setTextureMap(int textureMap): Sets images
  • isShadowReceiver(): Whether the rendered shape accepts shadow.
  • setShadowReceiver(boolean shadowReceiver): Sets the effect after accepting shadow.
  • isShadowCaster(): Whether the rendered shape can generate shadow.
  • setShadowCaster(boolean shadowCaster): Sets whether to generate the shadow effect.
  • getMetallic(): Gets metallicity.
  • setMetallic(float metallic): Sets metallicity.
  • getRoughness(): Gets roughness.
  • setRoughness(float roughness): Sets roughness.
  • getReflectance(): Gets reflectance.
  • setReflectance(float reflectance): Sets reflectance.
  • getColorRGBA(): Gets the RGBA value of the color.
  • getColor(): gets colors.
  • setColor(String colorString): sets colors.
  • setColor(Color color): sets colors.
  • setColor(float r, float g, float b, float a): Sets the color through its RGBA value.
  • updateMaterial(): Update texture.
  • clear(): clears shape

New Enumeration:

  • MatType.OPAQUE: transparent materials.
  • MatType.TRANSPARENT: opaque materials.
  • Mode.TRIANGLE_FAN: Drawing mode. The first point and next two adjacent points compose a triangle.
  • Mode.TRIANGLE_STRIP: Drawing mode. Three adjacent points compose a triangle excluding the first two points.
  • Mode.TRIANGLES: Drawing mode. Per three points compose a triangle.
AR
25.
Scene adjusts the following classes

New Interfaces:

  • drillPickforDynamicObject(String objectName ,final Point point,final int count): picks id array of objects on the screen.
Realspace
26.
TrackingLayer adjusts the following classes

New Interfaces:

  • setAsyncRefresh(boolean bAsync): sets whether to render the tracing layer instantly.
  • isAsyncRefresh(): returns whether the tracing layer is rendered instantly.
Mapping
27.
CameraView adjusts the following classes

New Interfaces:

  • switchCamera(): Switches front and rear cameras
AI
28.
MediaService adjusts the following classes

New Interfaces:

  • setPushService(String ip, String port, String id, InitCallback callback): Sets the push-flow service address.
  • startPushCameraView(): Starts to post the camera view
  • pausePushRenderView(): Stops posting the camera view
  • startPushCustom(Bitmap bitmap): Begins to post custom content video flow
  • muteLocalAudioStream(boolean muted): Whether to mute
  • stopPushCustom(): Stops pushing flow
  • setPlayerService(String url): Sets the pull-flow address
  • startPlay(String Key, TextureView textureView): Starts to pull flow
  • stopPlay(): Stops pulling flow
  • createLocalRenderView(): Creates local videos
AI
29.
Toolkitadjusts the following classes:

New Interfaces

  • GeometryToGeoJson(Geometry geometry):Geometry object to GeoJson
Data
30.
ARGeoRegion2adjusts the following classes:

New Interfaces

  • getPartArea(int partIndex):Gets the area of the child object of the specified index
  • getPartCenterPoint(int partIndex):Gets the geometric center of the child object of the specified index
AR
31.
ARGeometryadjusts the following classes:

New enumeration

  • ARGeometryType.POINT:Point type
  • ARGeometryType.LINE:Line type
  • ARGeometryType.REGION:Surface type
  • ARGeometryType.REGION2:Surface type
  • ARGeometryType.PRISM:Prismatic type
  • ARGeometryType.VERTICAL_REGION:Vertical plane type
AR
32.
CameraWindowRendereradjusts the following classes:

New Interfaces

  • refresh(long ms):Refresh at intervals
  • refresh():refresh
AR
33.
FlowElementadjusts the following classes:

New Interfaces

  • generateAnimation(AREffectElement e):Generate animation
AR
34.
AREffectElementadjusts the following classes:

New Interfaces

  • getElementType():Getting the element type
  • removeChild(AREffectElement element):Removes child node elements
AR
35.
ARMapElementadjusts the following classes:

New Interfaces

  • setMapRefreshListener(MapRefreshListener listener):Set the map refresh listener
  • getArMapScale():Get the scale of the AR map to the real scene
  • isRealMode():Determine if it is true mode (1:1 map)
  • setRealMode(boolean realMode):Set true mode (with 1:1 map enabled or not)
  • getRealScaleFactor():Gets the true scale of the AR scene
  • setScaleFactor(float[] scales):Sets the actual ratio in the AR scenario
AR
36.
CalibrationPointadjusts the following classes:

New Interfaces

  • getGeoLocation():Get geographic coordinate points
  • setGeoLocation(Location geoLocation):Set the geographic coordinates
  • getGeoPoint():Get geographic coordinate points
  • setGeoPoint(Point2D geoPoint):Set the geographic coordinates
  • getArPoint():Get AR coordinate points
  • etArPoint(Point3D arPoint):Set the geographic coordinates
AR
37.
CalibrationResultadjusts the following classes:

New Interfaces

  • calculate(AREffectView arView, boolean isChangeScale, CalibrationPoint pointA, CalibrationPoint pointB):The geographical location of the device is calculated by means of two corrections
  • calculate(AREffectView arView, boolean isChangeScale,TransformationMode transformationMode,CalibrationPoint... calibrationPoints):Calculate the location of the device through registration
  • getOffset():Gets the offset before and after correction
  • getDeviceLocation():Gets the geographic coordinates when the AR scene is started
  • getDeltaAzimuth():Gets the azimuth of the AR scenario when it starts
  • getScale():Gets the scale of the AR scenario when it starts
  • getCalibrationPoints():Gets the set of correction points
AR
38.
EffectViewadjusts the following classes:

New Interfaces

  • addOnUpdateListener(OnUpdateListener onUpdateListener):Adds the specified update listener
  • removeOnUpdateListener(OnUpdateListener onUpdateListener):Removes the specified update listener
  • getSceneView():Get ArSceneView
  • setOnSceneTouchListener(final OnSceneTouchListener listener):Set the scene touch listener
  • setVisibleDistance(float distance):Set viewing distance
  • setFarClipPlane(float distance):Set the distance of the far clipping plane
  • getFarClipPlane():Gets the distance of the far clipping plane
  • setNearClipPlane(float distance):Set the distance between the clipping plane
  • getAzimuth():Get mobile phone azimuth
  • getDeviceLocation():Obtain the geographical location of the device
  • setDeviceLocation(Location deviceLocation):Set the geographical location of the device
  • setAzimuth(float azimuth):Set the device azimuth
  • getElementDistance(AREffectElement element):Gets the distance of the current effect element
  • getCameraPosition():Gets the current camera position
  • addElement(AREffectElement element):Add the element to the scene data
  • getEffectElement(String name):Gets the effect element by name
AR
39.
HmsAREffectViewadjusts the following classes:

New Interfaces

  • getArSceneView():Get ArSceneView
  • getArSession():Get ARSession
  • setArSession(ARSession session):Set ArSession
  • getArAction():Get the AR operation type
  • setArAction(ARAction arAction):Set the AR operation type
AR
40.
ImageEffectViewadjusts the following classes:

New Interfaces

  • updateImage():update
  • updateImage(Bitmap bitmap):update
  • updateScene():After updating the image, you need to update the scene
  • getImageView():Get ImageView
  • setSize(int width,int height):Set the size
AR
41.
TransformCalibrationResultadjusts the following classes:

New Interfaces

  • toArPoint(Point2Ds points):The geographical coordinates are converted into AR coordinate sets by correction results
  • toGeoPoint(List pointList):The AR coordinate point set is converted into geographic coordinates by correction results
  • getToGeoTransformation():Get the data registration class transformed from AR coordinates to geographic coordinates
  • getToArTransformation():Get the data registration class transformed from geographic coordinates to AR coordinates
AR
42.
UAVImageEffectViewadjusts the following classes:

New Interfaces

  • updateCurrentCameraParameter(UAVRecordParameter uavRecordParameter):Update camera AR coordinate set according to uav's current parametersAR坐标集
  • getUavRecordParameters():Obtain all uav parameter records
  • setUavRecordParameters(ArrayList uavRecordParameters):Add uav real-time parameter record
AR
43.
UAVRecordParameteradjusts the following classes:

New Interfaces

  • calculateHorizontalFOV(float width,float height,float focalLength35mmEq):Calculate the horizontal field Angle
  • calculateVerticalFOV(float width,float height,float focalLength35mmEq):Calculate the vertical field Angle
AR
44.
UAVVideoEffectViewadjusts the following classes:

New Interfaces

  • updateCurrentCameraParameter(UAVRecordParameter uavRecordParameter):Update the camera according to the drone's current parameters
  • getUavRecordParameters():Obtain all uav parameter records
  • setUavRecordParameters(ArrayList uavRecordParameters) :Add uav real-time parameter record
AR
45.
ARDynamicGeometryadjusts the following classes:

New Interfaces

  • setOnPointUpdateListener(OnPointUpdateListener onPointUpdateListener):Setting point adds listening events
  • clearAll():Clean all
  • getObj(int index, ARGeometry.ARGeometryType type):Gets an object of the specified type and the specified index
  • getCurrentObj(ARGeometry.ARGeometryType type):Gets an object of the currently specified type
  • getCurrentCount():Gets the number of vertices for the current object
  • saveCurrentObj():Save the current object
  • clearCurrentObj():Clears the currently drawn object
  • addPoint(Point3D p):add Point
  • delLastPoint():Clears the last node added
AR